home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / src / ConfigFileSrc.lha / ConfigFileSrc12 / RexxLibrary / RexxVar.asm < prev    next >
Encoding:
Assembly Source File  |  1997-10-02  |  2.5 KB  |  166 lines

  1. *
  2. *  $PROJECT: RexxConfigFile.library
  3. *  $FILE: RexxVar.h
  4. *  $DESCRIPTION: Support functions for ARexx variables.
  5. *
  6. *  (C) Copyright 1997 Marcel Karas
  7. *      All Rights Reserved.
  8. *
  9.  
  10.     XDEF    _SetRxVar
  11.  
  12.     SECTION "",CODE
  13.  
  14. *---------------------------------------------------------------------------
  15.  
  16. _SetRxVar:
  17.     MOVEM.L    D2-D7/A2-A6,-(SP)
  18.     LEA        -$000C(SP),SP
  19.     MOVEA.L    A0,A2
  20.     MOVEA.L    A1,A3
  21.     MOVEA.L    D0,A5
  22.     MOVE.L    D1,D3
  23.     LEA        L07(PC),A0
  24.     MOVEA.L    SP,A1
  25.     BSR.W        L14
  26.     MOVEA.L    A2,A0
  27.     MOVEA.L    $0018(A2),A6
  28.     MOVEQ        #$09,D0
  29.     CMPI.L    #$0000FFFF,D3
  30.     BGT.B        L09
  31.     MOVEA.L    $0014(A2),A0
  32.     JSR        -$006C(A6)
  33.     MOVEA.L    A0,A4
  34.     MOVEA.L    A3,A0
  35.     BSR.W        L0A
  36.     BNE.B        L09
  37.     MOVEA.L    A1,A2
  38.     MOVE.L    D1,D2
  39.     MOVEA.L    A4,A0
  40.     MOVE.L    D2,D0
  41.     JSR        -$0042(A6)
  42.     MOVE.L    D0,D4
  43.     MOVEA.L    A4,A0
  44.     MOVEA.L    A5,A1
  45.     MOVE.L    D3,D0
  46.     BSR.W        L10
  47.     BEQ.B        L07
  48.     MOVEA.L    A4,A0
  49.     MOVEA.L    D0,A1
  50.     MOVE.L    D4,D0
  51.     JSR        -$0054(A6)
  52.     MOVEQ        #$00,D0
  53.     BRA.B        L09
  54. L07
  55.     MOVEQ        #$03,D0
  56.     BRA.B        L09
  57. L08
  58.     MOVEQ        #$0A,D0
  59. L09
  60.     MOVEA.L    SP,A0
  61.     MOVE.L    D0,-(SP)
  62.     BSR.W        L15
  63.     MOVE.L    (SP)+,D0
  64.     LEA        $000C(SP),SP
  65.     MOVEM.L    (SP)+,D2-D7/A2-A6
  66.     RTS
  67. L0A
  68.     MOVEM.L    D2/D3/A2/A3,-(SP)
  69.     MOVEQ        #$00,D2
  70.     MOVEQ        #$00,D3
  71.     JSR        -$0120(A6)
  72.     MOVEA.L    A0,A1
  73.     MOVEA.L    A4,A0
  74.     BSR.B        L10
  75.     MOVEA.L    D0,A2
  76.     BEQ.B        L0D
  77.     LEA        $0008(A2),A1
  78.     MOVE.W    $0004(A2),D0
  79.     MOVE.L    A1,D1
  80. L0B
  81.     CMPI.B    #$2E,(A1)+
  82.     DBEQ        D0,L0B
  83.     BNE.B        L0C
  84.     EXG        D1,A1
  85.     SUB.L        A1,D1
  86.     MOVE.L    A2,D3
  87.     MOVEA.L    A4,A0
  88.     MOVE.L    D1,D0
  89.     BSR.B        L10
  90.     MOVEA.L    D0,A2
  91.     BEQ.B        L0D
  92. L0C
  93.     LEA        $0008(A2),A0
  94.     JSR        -$0066(A6)
  95.     CMP.W        $0004(A2),D1
  96.     BEQ.B        L0E
  97.     MOVEQ        #$28,D2
  98.     BRA.B        L0E
  99. L0D
  100.     MOVEQ        #$03,D2
  101. L0E
  102.     TST.L        D2
  103.     BEQ.B        L0F
  104.     MOVEA.L    A4,A0
  105.     MOVEA.L    A2,A1
  106.     BSR.B        L12
  107.     MOVEA.L    A4,A0
  108.     MOVEA.L    D3,A1
  109.     BSR.B        L12
  110. L0F
  111.     MOVEA.L    A2,A1
  112.     MOVE.L    D3,D1
  113.     MOVE.L    D2,D0
  114.     MOVEM.L    (SP)+,D2/D3/A2/A3
  115.     RTS
  116. L10
  117.     MOVEM.L    D0/A1,-(SP)
  118.     ADDQ.L    #8,D0
  119.     ADDQ.L    #1,D0
  120.     JSR        -$0072(A6)
  121.     MOVEM.L    (SP)+,D0/A1
  122.     BEQ.B        L11
  123.     MOVE.L    A0,-(SP)
  124.     CLR.L        (A0)
  125.     MOVE.W    D0,$0004(A0)
  126.     MOVE.B    #$02,$0006(A0)
  127.     CLR.B        $08(A0,D0.L)
  128.     ADDQ.L    #8,A0
  129.     JSR        -$010E(A6)
  130.     MOVEA.L    (SP)+,A0
  131.     MOVE.B    D0,$0007(A0)
  132. L11
  133.     MOVE.L    A0,D0
  134.     RTS
  135. L12
  136.     MOVE.L    A1,D1
  137.     BEQ.B        L13
  138.     MOVEQ        #$01,D0
  139.     AND.B        $0006(A1),D0
  140.     BNE.B        L13
  141.     MOVE.W    $0004(A1),D0
  142.     ADDQ.L    #8,D0
  143.     ADDQ.L    #1,D0
  144.     JSR        -$0078(A6)
  145. L13
  146.     RTS
  147. L14
  148.     MOVE.L    A3,-(SP)
  149.     MOVEA.L    $0014(A2),A3
  150.     MOVE.L    A2,$0000(A1)
  151.     MOVEM.L    $00FC(A3),D0/D1
  152.     MOVEM.L    A0/A1,$00FC(A3)
  153.     MOVEM.L    D0/D1,$0004(A1)
  154.     MOVEA.L    (SP)+,A3
  155.     RTS
  156. L15
  157.     MOVEA.L    $0000(A0),A1
  158.     MOVEA.L    $0014(A1),A1
  159.     MOVEM.L    $0004(A0),D0/D1
  160.     MOVEM.L    D0/D1,$00FC(A1)
  161.     RTS
  162.  
  163. *---------------------------------------------------------------------------
  164.  
  165.     END
  166.